package negocio;

import java.util.Date;
import java.util.List;

import rh.Funcionario;
import dados.FuncionarioDAO;
import dados.interfaces.IFuncionarioDAO;
import exception.NegocioException;

public class FuncionarioNegocio {

	private IFuncionarioDAO funcionarioDAO;

	public FuncionarioNegocio() {
		this.funcionarioDAO = new FuncionarioDAO();
	}

	public void inserir(Funcionario entidade) {
		Date d = new Date();
		entidade.setDataUltimaAtualizacao(d);

		this.funcionarioDAO.inserir(entidade);

	}

	public void alterar(Funcionario entidade) {
		Date d = new Date();
		entidade.setDataUltimaAtualizacao(d);
		
		funcionarioDAO.alterar(entidade);

	}

	public void excluir(Funcionario funcionario) throws NegocioException{


		List<Funcionario> resultado = funcionarioDAO.consultarTodos();
		if (!resultado.isEmpty()){
			funcionarioDAO.remover(funcionario);	
		} else {
			throw new NegocioException(resultado.size() + " Controlador Funcionario - erro negocioFuncionario");
		}
		
	}
	
	
	public List<Funcionario> consultarFuncionario() {
		return funcionarioDAO.consultarTodos();
	}
	
	public Funcionario consultarFuncionarioPorId(Integer id) {
		return funcionarioDAO.consultarPorId(id);
	}

	
	
}

